package com.tiancheng.trade.payment.bo;

import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 支付明细结算信息BO
 */
@Data
public class PaymentFlowDetailSettleBO {
    private Long id;
    /**
     * 机构支付通道id
     */
    private Long orgPaymentChannelId;

    /**
     * 支付流水号
     */
    private String flowId;
    /**
     * 支付子流水号
     */
    private String subFlowId;
    /**
     * 交易中台商户编码
     */
    private String merchantCode;
    /**
     * 支付渠道测子商户号
     */
    private String subMerchantId;
    /**
     * 支付通道编码
     */
    private String paymentChannel;
    /**
     * 结算规则类型：M-商户清分规则，P：产品清分规则
     */
    private String settleRuleType;
    /**
     * 清分规则编码
     */
    private String settleRuleCode;
    /**
     * 子订单金额
     */
    private Integer subOrderAmount;
    /**
     * 平台抽佣金额
     */
    private Integer platformAmount;
    /**
     * 商户所得金额
     */
    private Integer merchantAmount;
    /**
     * 清分状态：WAIT-等待，ING-清分中，SUCCESS-成功，FAIL-失败
     */
    private String settleStatus;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    /**
     * 清分发起时间
     */
    private LocalDate settleDate;
    /**
     * 清分成功时间
     */
    private LocalDateTime settleScDate;
    /**
     * 核销状态
     *
     * @see com.tiancheng.trade.commom.core.enums.VerificationStatusEnum
     */
    private String verificationStatus;
    /**
     * 核销时间
     */
    private LocalDateTime verificationTime;
    /**
     * 结算状态描述
     */
    private String settleStatusDescribe;
    /**
     * 结算批次号
     */
    private String batchNo;
    /**
     * 结算流水号
     */
    private String settleFlowId;
    /***
     * 结算流水号
     */
    private String channelSettleNo;
    /**
     * 核销id
     */
    private String verificationId;
    /**
     * 结算订单号
     */
    private String settleLogNo;
    /**
     * 分账明细
     */
    private List<PaymentFlowDetailSettleDetailBO> details;
}
